import request from '@/util/axios';
import type { LoginForm } from './login_type';
// 统一管理接口
enum API {
  LOGIN = '/edata-auth/api/auth/login', //登录
  CODE = 'api/identity/get_verify_code', //验证码
  ZD_LOGIN_URL = '/api/identity/login/zd_addr', // 中电登录url
  ZD_LOGIN = '/api/identity/login/zd' // 中电登录
}

// 登录
export async function login(data: LoginForm) {
  try {
    return await request.post(API.LOGIN, { ...data });
  } catch (error: any) {
    console.error('登录时发生错误：', error);
    // throw new Error('登录失败，请稍后重试。');

    return error;
  }
}

// 验证码
export async function code(account: string) {
  try {
    return await request.get(API.CODE, {
      params: {
        account // 正确地传递参数
      }
    });
  } catch (error) {
    console.error('获取验证码时发生错误：', error);
    throw new Error('无法获取验证码，请稍后重试。');
  }
}

/* 获取中电登录url */
export async function getZdLoginUrl(redirect_uri: string) {
  try {
    return await request.post(API.ZD_LOGIN_URL, { redirect_uri });
  } catch (error) {
    console.error('获取中电登录url时发生错误：', error);
    throw new Error('无法获取中电登录url，请稍后重试。');
  }
}

/* 中电登录 */
export async function zdLogin(code: string) {
  try {
    return await request.post(API.ZD_LOGIN, { code });
  } catch (error) {
    console.error('中电登录时发生错误：', error);
    throw new Error('中电登录失败，请稍后重试。');
  }
}
